The present invention relates to identifying errors in a data stream, and more particularly, to a signal processing apparatus for setting error indication information according to an error detection result generated from performing an error detection (e.g., a parity check) upon an output of an outer-code decoder (e.g., a BCH decoder) and related method thereof.
In contrast to the analog television system using analog signals to carry audio and video information, a digital television (DTV) system sends and receives audio and video information by means of digital signals. However, for a DTV receiver, it is still possible that some noise or impairments occur in the signal transmission over the air. Therefore, the received transport stream might contain error packets. Please refer to FIG. 1, which is a diagram of a conventional DTV receiver. The DTV receiver 100 includes an antenna 102, a tuner 104, a demodulator 106, a backend processor 108, and a memory 110. The antenna 102 receives a digital television signal S_DTV, and then the tuner 104 performs down-conversion and channel selection upon the received digital television signal S_DTV. Next, the demodulator 106 demodulates an output of the tuner 104 to generate a transport stream D_TS to the following backend processor 108. The memory 110 is allocated to the backend processor 108 for buffering data generated and requested by the backend processor 108. The backend processor 108 decodes the transport stream D_TS using a proper decoding scheme (e.g., an MPEG decoding or AVS decoding) to generate an audio/video output S_A/V to an output device 150 such that contents of a television channel selected by the user are played via the output device 150 (e.g., a display device).
As shown in FIG. 1, the audio/video output S_A/V is derived from decoding the transport stream D_TS. When the transport stream D_TS contains error packets, the backend processor 108 would fail to generate correct audio/video output S_A/V. If an error packet indication could be provided to the backend processor 108, it can help the backend processor 108, such as an MPEG processor or AVS processor, to correctly deal with the received transport stream D_TS including error packets. In general, a concatenated coding scheme, including an outer coding and an inner coding, is employed to encode a data stream before the data stream is broadcasted over the air. For example, the outer coding and the inner coding are implemented using a Low Density Parity Check (LDPC) coding and a Bose-Chaudhuri-Hocquenghem (BCH) coding, respectively. As a result, the data stream is first encoded using the BCH coding, and then encoded using the LDPC coding. Therefore, the demodulator in the DTV receiver requires an LDPC decoder and a BCH decoder to correctly decode the received data stream coded using the concatenated coding scheme including the LDPC coding (i.e., the inner coding) and the BCH coding (i.e., the outer coding).
Provided the DTV receiver 100 is a conventional DVB-S2 (digital video broadcast-satellite version 2) receiver, the demodulator 106 therefore has a BCH decoder (not shown) and an LDPC decoder (not shown) included therein. The BCH decoder is defined to have good error detection and correction capability according to the DVB-S2 standard. For example, the BCH decoder can correct up to eight error bits per BCH codeword. The decode status of the BCH decoder in the demodulator 106 therefore provides a reliable error indication for each BCH codeword processed by the BCH decoder. As shown in FIG. 1, the demodulator 106 therefore generates an error indication signal S_EI to the backend processor 108 according to the decode status of the BCH decoder with good error detection and correction capability. As the error indication signal S_EI indicates whether a packet is correct or not, the backend processor 108 therefore knows which packet in the transport stream D_TS is an error packet, and can properly deal with the transport stream D_TS generated from the demodulator 106 to optimize quality of the audio/video output S_A/V.
However, in contrast to the DVB-S2 standard, the digital terrestrial multimedia broadcast (DTMB) standard does not use a BCH decoder having good error detection and correction capability. For example, the BCH decoder in a DTV receiver complying with the DTMB standard can correct one error bit per BCH codeword (752 bits) only. Therefore, the BCH decoder has poor capability to know whether the decoded data is correct or not. For example, when the BCH decoder judges that no errors are presented in a codeword, it is not guaranteed that the codeword is error-free as the BCH decoder has poor error detection and correction capability. Similarly, it is not guaranteed that a one-bit correction made to the BCH codeword by the BCH decoder is able to make the corrected codeword become error-free. If the decode status of the BCH decoder is directly used to serve as the error indication signal, the error indication signal is quite unreliable.
Therefore, how to derive a reliable error indication signal for packets to improve the performance of the backend processor becomes an important issue for designers of DTV receivers complying with the DTMB standard.